import java.sql.*;
import java.util.Scanner;

/*
    测试类TestDBUtils，使用了PreparedStatement， 根据name和gender进行数据查询，并将结果打印在控制台
 */
public class TestDBUtils {

    public static void main(String[] args) throws SQLException {

        //1.获取连接
        Connection connection = DBUtils.getConnection();

        //2.获取Statement
        Statement statement = connection.createStatement();

        //3.获取用户输入的用户名和密码
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您想要查找的员工的姓名: ");
        String name = sc.nextLine();

        System.out.println("请输入您想要查找的员工的性别: （男 / 女） ");
        String pass = sc.nextLine();
        System.out.println(pass);

        //4.获取 PrepareStatement 预编译对象

        //4.1 编写SQL 使用 ? 占位符方式
        String sql = "select * from employee where name = ? and gender = ?";
        PreparedStatement ps = connection.prepareStatement(sql);

        //4.2 设置占位符参数
        ps.setString(1,name);
        ps.setString(2,pass);

        //5. 执行查询 处理结果集
        ResultSet resultSet = ps.executeQuery();

        if(resultSet.next()){
            System.out.println("您要查询的员工的信息如下: " );
            System.out.println("id: " + resultSet.getInt("id") +
                    "      姓名: " + resultSet.getString("name")+
                    "      性别： " + resultSet.getString("gender") +
                    "      薪水： " + resultSet.getString("salary") +
                    "      奖金： " + resultSet.getString("bonus") +
                    "      入职时间： " + resultSet.getDate("join_date"));
        }else{
            System.out.println("您要查询的员工在数据库中不存在!");
        }

        //6.释放资源
        DBUtils.close(connection,statement,resultSet);
    }
}